//
//  NewFeatureView.swift
//  MQLWeibo
//
//  Created by MQL-IT on 2017/3/19.
//  Copyright © 2017年 MQL-IT. All rights reserved.
//  新特性页面

import UIKit

/// 新特性视图
class QLNewFeatureView: UIView {
    @IBOutlet weak var pageControl: UIPageControl!
    @IBOutlet weak var enterButton: UIButton!
    @IBOutlet weak var scrollView: UIScrollView!
    
    
    
    /// 进入微博
    @IBAction func enterStatus(_ sender: UIButton) {
        removeFromSuperview()
        
    }
    
    class func newFeatureView() -> QLNewFeatureView {
        let nib = UINib(nibName: "QLNewFeatureView", bundle: nil)
        let v = nib.instantiate(withOwner: nil, options: nil)[0] as! QLNewFeatureView
        //从xib加载的视图大小默认是600*600的
        v.frame = UIScreen.main.bounds
        
        return v
    }
    
    override func awakeFromNib() {
        // 如果使用自动布局设置界面, 从xib加载默认的视图是 600 * 600大小
        // 添加4个图像视图
        let count = 4
        let rect = UIScreen.main.bounds
        
        for i in 0..<count {
            let imageName = "new_feature_\(i + 1)"
            let iv = UIImageView(image: UIImage(named: imageName))
            
            //设置大小
            iv.frame = rect.offsetBy(dx: CGFloat(i) * rect.width, dy: 0)
            scrollView.addSubview(iv)
        }
        // 指定scrollView的属性
        scrollView.contentSize = CGSize(width: CGFloat(count + 1) * rect.width, height: rect.height)
        scrollView.bounces = false
        scrollView.isPagingEnabled = true
        scrollView.showsVerticalScrollIndicator = false
        scrollView.showsHorizontalScrollIndicator = false
        scrollView.delegate = self
        enterButton.isHidden = true
    }

}

//MARK: - UIScrollViewDelegate
extension QLNewFeatureView: UIScrollViewDelegate {
    
    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        // 1.滚动到最后一屏, 视图删除
        let page = Int(scrollView.contentOffset.x / scrollView.bounds.width)
        printLog(message: page)
        // 2. 判断是否是最后一页
        if page == scrollView.subviews.count {
            removeFromSuperview()
        }
        //3. 如果是倒数第二页显示按钮
        enterButton.isHidden = !(page == scrollView.subviews.count - 1)
        
    }
    
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        //0. 一旦滚动 隐藏按钮
        enterButton.isHidden = true
        //1.计算当前的偏移量
        let page = Int(scrollView.contentOffset.x / (scrollView.bounds.width))
        //2. 设置分页控件
        pageControl.currentPage = page
        //3. 隐藏分页控件
        pageControl.isHidden = (page == scrollView.subviews.count)
    }
    
    
}

